#
# Copyright 2021 The Modelbox Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


cmake_minimum_required(VERSION 3.10)

file(GLOB_RECURSE SOURCES *.cpp *.cc *.c)
group_source_test_files(MODELBOX_COMPONENT_SOURCE MODELBOX_COMPONENT_TEST_SOURCE "_test.c*" ${SOURCES})

set(INCLUDE ${CMAKE_CURRENT_LIST_DIR})

include_directories(${CMAKE_CURRENT_LIST_DIR})
include_directories(${LIBMODELBOX_INCLUDE})
include_directories(${LIBMODELBOX_BASE_INCLUDE})
include_directories(${LIBMODELBOX_DEVICE_CPU_INCLUDE})
include_directories(${MODELBOX_COMMON_IAM_AUTH_INCLUDE})

set(LIBRARY modelbox-unit-cpu-obs_client)
add_library(${LIBRARY} SHARED ${SOURCES})
set_property(TARGET ${LIBRARY} PROPERTY POSITION_INDEPENDENT_CODE ON)

target_link_libraries(${LIBRARY} ${OBS_LIBRARIES})
target_link_libraries(${LIBRARY} ${MODELBOX_COMMON_IAM_AUTH_LIBRARY})

install(TARGETS ${LIBRARY} 
    COMPONENT cpu-device-flowunit
    RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR}
    LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
    OPTIONAL
    )

set(MODELBOX_COMMON_OBS_CLIENT_LIBRARY ${LIBRARY} CACHE INTERNAL "")
set(MODELBOX_COMMON_OBS_CLIENT_INCLUDE ${INCLUDE} CACHE INTERNAL "")
